Large-scale computing systems, such as those associated with network-based production services, have become widely available in recent years. Examples of such systems include online merchants, internet service providers, online businesses such as photo processing services, corporate networks, cloud computing services, web-based hosting services, etc. These entities may maintain large numbers of computing devices (e.g., thousands of hosts) which are hosted in geographically separate locations and which are configured to process large quantities (e.g., millions) of client requests daily or even hourly. Complex systems may include many services that interact with one another in varied ways.
For example, web servers backed by distributed systems may provide online marketplaces that offer goods and/or services for sale to consumers. Consumers may visit a marketplace website to view and/or purchase goods and services offered for sale by the merchant operating the website (and/or third-party merchants). Some online marketplaces include large online catalogs of items offered for sale. For an item offered for sale, an online marketplace typically include a product detail page (e.g., a web page) that specifies various information about the item, such as a description of the item, one or more pictures of the item, as well as specifications (e.g., weight, dimensions, capabilities) of the item. Additionally, an online marketplace may offer other types of pages to potential customers, such as a home page that introduces a customer to the marketplace and a search page that lists products relevant to one or more search terms.
The catalog of items may be organized using a hierarchical classification system, otherwise referred to as a “hierarchical taxonomy” or simply “taxonomy.” Generally speaking, a hierarchical classification system is a classification system in which items are arranged based on some hierarchical structure. If the hierarchical structure is a tree, each node of the tree may represent a different classification. An individual item may be classified by placing the item in one of the various leaves of the tree, in one of the branches, or even in the root. From the root through the branches to the leaves, the nodes may represent increasing degrees of specificity in the classification scheme. A well-known example of a hierarchical classification system is the taxonomic system used in modern biology, where the major taxonomic ranks include: kingdom, phylum, class, order, family, genus, and species. Another example of a hierarchical classification system is a product classification scheme used by an online merchant. For a system maintained by an online merchant, the classification of products into a hierarchy of classifications may permit customers to find desired categories of products by navigating up or down the hierarchy.
While embodiments are described herein by way of example for several embodiments and illustrative drawings, those skilled in the art will recognize that embodiments are not limited to the embodiments or drawings described. It should be understood, that the drawings and detailed description thereto are not intended to limit embodiments to the particular form disclosed, but on the contrary, the intention is to cover all modifications, equivalents and alternatives falling within the spirit and scope as defined by the appended claims. The headings used herein are for organizational purposes only and are not meant to be used to limit the scope of the description or the claims. As used throughout this application, the word “may” is used in a permissive sense (i.e., meaning “having the potential to”), rather than the mandatory sense (i.e., meaning “must”). Similarly, the words “include,” “including,” and “includes” mean “including, but not limited to.”